SEARCH KEYWORD -- New version
The confusing strtotime() function in PHP
Frequently PHP programmers get confused of the use of i month, -1 month, next month in strtotime() function. and hence it leaves some impression to programmer that this function is not that reliable. Let's take one example of strtotime call with -1 month and see why it leaves this impression. date("Y-m-d",strtotime("-1 month")) // Assume today is 2018-07-31 What's the output of above call? The answer is 2018-07-01. Why not 2018-06-30? So people get confused. It appears that this is ...
PHP,STRTOTIME,FIRST DAY OF,-1 MONTH 2018-08-04 05:49:32
Python – parallelizing CPU-bound tasks with multiprocessing
In a previous post on Python threads, I briefly mentioned that threads are unsuitable for CPU-bound tasks, and multiprocessing should be used instead. Here I want to demonstrate this with benchmark numbers, also showing that creating multiple processes in Python is just as simple as creating multiple threads. First, let’s pick a simple computation to use for the benchmarking. I don’t want it to be completely artificial, so I’ll use a dumbed-down version of factorization...
Python,Multitasking,Multiprocessing,CPU bound 2012-01-17 11:38:22
Introducing the for-if anti-pattern
Over the years, I've seen a bunch of coding anti-patterns. I figured maybe I'll share a few. Today, I'll introduce what I'm calling the for-if anti-pattern, also known as "We'll sell you the whole seat, but you'll only need the edge." This is a special case of the for-case anti-pattern, where all but one of the cases is null. for (int i = 0; i < 100; i++) { if (i == 42) { do_something(i); } } This can naturally be simplified to do_something(42); The for-if anti-pattern arises in ma...
Programming,Anti-pattern,for-if,efficiency 2012-02-02 10:18:15
Firefox 18 will adopt IonMonkey as its JS compiler
Tendency would be converse after 30 years. The previous famous Firefox is now forced to change its version number frequently becuase of the rise of Chrome. Last month Mozilla released Firefox 15 and also released news about Firefox 17, And now Firefox 18 is also ready to come out. According to PCWorld, to keep the promise of bring quicker and smoother experience, Mozzila will adopts new JavaScript technology in Firefox 18. The new Firefox with new JavaScript technology will be 26% qu...
Firefox 18,IonMonkey,JavaScript 2012-09-17 11:50:02
Problem and Solution for Installing wxPython on Ubuntu 20.04
When we try to install wxPython lib on Ubuntu system to do software GUI development, most of time we may meet some installation and lib dependency problems. For the latest Ubuntu version, the problems still happen. Below are some common problems which happened frequently and their solution: --------------------------------------------------------------------------------------------------------------- Problem [1]: Install wxPython on Ubuntu 20.04 fail because of dependency package Gtk is not in...
PYTHON,WXPYTHON,UBUNTU 20.04 2020-09-09 05:32:35
Different types of keystore in Java -- Windows-MY
Windows-MY is a type of keystore on Windows which is managed by the Windows operating system. It stores the user keys and certificates which can be used to perform cryptographic operations such as signature verification, data encryption etc. Since it's a kind of native keystore, Java doesn't have a general API to access it. To help Java applications access the keys and certificates stored in Windows-MY keystore, Java provides a separate API -- SunMSCAPI. The SunMSCAPI provider is ...
JAVA,KEYSTORE,WINDOWS-MY,SUNMSCAPI 2016-01-09 05:45:59
A journey to investigate a goroutine leakage case
In Go, creating goroutines is straightforward, but improper usage may result in a large number of goroutines unable to terminate, leading to resource leakage and memory leaks over time. The key to avoiding goroutine leaks is to manage the lifecycle of goroutines properly. By exporting runtime metrics and utilizing pprof, one can detect and resolve goroutine leakage issues. This post will go through one real case encountered by the author. The author maintains a service that connects to a targe...
TIMEOUT,SSH,GUIDE,DEBUG,LEAK,GOROUTINE,PPROF,GOLANG 2024-03-16 11:00:23
Programming: the benefits of taking a break
This post lists several benefits of taking a break during programming. You work smarter, not harder. Once, I worked really hard on a feature. For two weeks, 12 hours a day, I put in a lot of effort. After those two weeks, I took a break and came up with several ideas that made much of the work unnecessary.You think more clearly. Being tired has a similar effect as being drunk. At the end of a day, I often kid myself that I’ll just get this one thing finished quickly to have a fresh ...
Programming,Tips,Break,Tired 2011-07-28 09:04:29
Google releases new app to improve the accuracy of indoor positioning
Google Maps, Bing Maps, and some map providers have offered indoor map service such as in the airport, major shopping malls and stadiums for some time. The problem is that these indoor maps can not precisely tell you which floor you are on a map, the GPS obviously can not work very well in this environment, WiFi and GPRS positioning is not very precise. Google announced the improvement program of Google Maps for accurate indoor positioning. The current owners of these places will cooperat...
Google Map,Indoor service,Positioning 2012-04-08 09:46:53
Implement struct no copy in GoLang
There is some case where some of the struct in GoLang which is not meant to be copied. For example, sometimes a global configuration which should have only one version passed around the whole application and should not be copied and modified. In GoLang, there is no intuitive solution on preventing copying of struct. But there is still some way which can be leveraged to help prevent this while developing the code. The trick is to define some struct implementing sync.Locker interface and has this ...
RECENT
- Tips for Socializing With Friends During College
- Proximity Cards Do More Than Just Open Doors
- How to choose quality painted auto parts
- Oval engagement rings from MoonOcean: Elegance of form and individual approach
- Hologres vs AWS Redshift
- GoLand connect to Hologres
- A journey to investigate a goroutine leakage case
- Understanding Slice Behavior in Go
- Breaking Barriers: How 3D Printing is Democratizing Product Development
- The Power of Efficiency: 10 Practical Energy-Saving Tips for Tech Startups
- more>>